package com.carleasoft.mps.cms.business.process.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.carleasoft.mps.cms.business.process.bean.entity.BaseProcessModuleEntity;
import com.carleasoft.mps.cms.business.process.bean.entity.BaseProcessNodeRelEntity;
import com.carleasoft.mps.cms.business.process.bean.po.*;
import com.carleasoft.mps.cms.business.process.bean.vo.GetProcessInfoVo;
import com.carleasoft.mps.cms.business.process.bean.vo.MyApprovalPageReportVo;
import com.carleasoft.mps.cms.business.process.bean.vo.MyApprovalPageVo;
import com.carleasoft.mps.cms.business.train.bean.vo.TrainCarVo;

import java.util.List;

/**
 * @author: yangHao
 * @createDate:2023/6/2
 * @description:
 */
public interface BaseProcessNodeRelService extends IService<BaseProcessNodeRelEntity> {


    boolean saveNode(NodePo nodePo);

    Page<BaseProcessModuleEntity> pageQuery(Page page, NodePo nodePo);

    NodePo detail(NodePo nodePo);

    NodePo getModuleInfo(NodePo nodePo);

    boolean submitApproval(NodePo nodePo);

    Page<MyApprovalPageVo> myApprovalPage(Page page, MyApprovalPagePo myApprovalPagePo);

    Page<MyApprovalPageReportVo> myApprovalPageReport(Page page, MyApprovalPagePo myApprovalPagePo);

    Page<TrainCarVo> myApprovalPageCar(Page page, MyApprovalPageCarPo myApprovalPageCarPo);

    Integer check(CheckPo checkPo);

    GetProcessInfoVo getProcessInfo(GetProcessInfoPo getProcessInfoPo);
}
